Maquettes statiques v2 — 7 écrans, navigation cliquable par la barre latérale. Données réelles du 09/08 ; les exemples fictifs de mise en page sont signalés.
Rechercher une ville, un site, un lead…
IA · 5,72 €

Pilotage

Ce qui compte cette semaine pour passer de 0 à 1 client payant.

MRR
0 €
Objectif survie : 26–31 clients
{{ k.l }}
{{ k.v }}
{{ k.s }}

Tunnel de conversion

Leads → Mandats · 30 j
{{ f.name }}
{{ f.num }}
{{ f.rate }}

Prochaines actions

{{ a.n }}
{{ a.t }}
{{ a.d }}
Ouvrir
{{ m.v }} {{ m.vs }}
{{ m.l }}
{{ m.tag }}
{{ n.t }}

{{ n.p }}

Leads reçus

Tous les leads entrants, toutes sources — chiffres réels : 14 sur 30 j, 5 qualifiés.

{{ k.l }}
{{ k.v }}
{{ k.s }}
Rechercher un lead…
LeadSourceScoreStatutReçu
{{ l.name }}
{{ l.sub }}
{{ l.src }} {{ l.score }} {{ l.statut }} {{ l.date }} Ouvrir
Parti pris UX : hiérarchie corrigée par rapport au CRM actuel — le nom domine, le score est lisible (chiffre + barre, pas un badge illisible), le statut est un badge sémantique unique. L'historique bruité (changements auto de statut) sera replié dans la fiche, pas listé ici.

Formulaires

Chaque formulaire est une source de leads traçable — un formulaire = une origine dans le tunnel.

{{ k.l }}
{{ k.v }}
{{ k.s }}

Formulaires en ligne

Répartition des soumissions à brancher — N/D en attendant
FormulaireEmplacementStatutSoumissions · 30 jDernière soumission
{{ f.name }}
{{ f.sub }}
{{ f.where }} {{ f.statut }} {{ f.n }} {{ f.last }} Ouvrir
Parti pris : un formulaire = une source, visible dans la colonne Source des leads. Les 14 leads réels existent ; la répartition par formulaire n'est pas encore branchée, donc N/D partout plutôt qu'une ventilation inventée. Le taux de conversion par formulaire arrive avec le tracking.

Campagnes emails

Une séquence par formulaire — chaque lead entre dans la bonne séquence automatiquement.

{{ k.l }}
{{ k.v }}
{{ k.s }}

Séquences

Statistiques d'envoi à brancher — N/D en attendant
SéquenceDéclencheurEmailsStatutEnvoyés · 30 jOuverture
{{ e.name }}
{{ e.sub }}
{{ e.trigger }} {{ e.n }} {{ e.statut }} N/D N/D Ouvrir
Parti pris : pas de « campagnes » marketing génériques — des séquences déclenchées par formulaire. Le lien formulaire → séquence est visible dans la colonne Déclencheur. Structure d'exemple ; stats d'envoi N/D tant que le tracking n'est pas branché.
Acquisition · Campagnes emails

Séquence audit ville

Active Déclencheur : formulaire Audit ville seq-audit-ville · 4 emails
{{ k.l }}
{{ k.v }}
{{ k.s }}

Emails de la séquence

Stats d'envoi N/D — tracking à brancher
{{ e.n }}
{{ e.delai }} {{ e.objet }}
{{ e.but }}
Envoyés · N/DOuverture · N/DClics · N/DRéponses · N/D
Éditer

Réglages

DéclencheurSoumission formulaire Audit ville
SortieRéponse reçue ou RDV fixé
Fenêtre d'envoiLun–ven · 9 h – 18 h
ExpéditeurOlivier · ecosystemeimmo.fr
DésabonnementLien obligatoire · arrêt immédiat

Leads dans la séquence

N/D — le suivi par lead (étape atteinte, sortie) s'affichera ici dès le branchement du tracking.
Parti pris fiche séquence : la timeline verticale montre délai + objet + but de chaque email (structure d'exemple). Règle de sortie visible en réglages : une réponse ou un RDV stoppe la séquence — jamais de relance à un lead qui a répondu. Stats N/D tant que non branché.

Appels & relances

Ta file d'appels du jour, triée par priorité — l'écran à ouvrir chaque matin.

{{ k.l }}
{{ k.v }}
{{ k.s }}

File d'appels

Priorité = statut du lead + ancienneté
{{ a.p }}
{{ a.name }}
{{ a.reason }}
{{ a.statut }} Ouvrir la fiche
Parti pris : pas de CRM téléphonique — une file de travail. Chaque ligne dit qui appeler, pourquoi, et ouvre la fiche lead en un clic. « Démarrer la session » enchaîne les fiches une par une (à prototyper si validé).
Quitter la session
Appel {{ sessionPos }} / {{ sessionTotal }}
{{ sessionLead.ini }}
{{ sessionLead.name }}
{{ sessionLead.ville }} · {{ sessionLead.src }} · reçu {{ sessionLead.dateL }}
{{ sessionLead.statut }}
{{ sessionLead.tel }}
Objectif de cet appel
{{ sessionLead.nextT }}
{{ sessionLead.nextD }}
Notes d'appel
Noter pendant l'appel… (sauvegardé sur la fiche lead)
Résultat — passe automatiquement au suivant
Parti pris session : mode focus — un lead à la fois, l'objectif de l'appel en gros, 4 résultats qui enchaînent automatiquement. Le résultat met à jour le statut du lead et la file. Après le dernier appel, retour à la file avec le bilan.

Re : votre RDV de jeudi

Email
Exemple — Conseiller A <[email protected]> · il y a 2 h · contenu fictif
Bonjour,

Le créneau de 14 h me convient parfaitement. Pouvez-vous me confirmer si l'échange se fait en visio ou par téléphone ?

J'aurais aussi une question sur l'exclusivité : couvre-t-elle uniquement la ville ou aussi les communes limitrophes ?

Bien cordialement,
Conseiller A
Répondre à Conseiller A…

Lead associé

CA
Exemple — Conseiller A
Audit ville · RDV fixé · score 72

Actions

Parti pris message : le lead associé est toujours visible à droite (rapprochement auto par email) — répondre et qualifier sans changer d'écran. « Insérer un créneau » évite l'aller-retour agenda.

Demandes de démo

Démos plateforme, audits vendeur et demandes d'estimation — les demandes à forte intention.

{{ k.l }}
{{ k.v }}
{{ k.s }}

Demandes

Exemples de mise en page
DemandeTypeStatutReçue
{{ d.name }}
{{ d.sub }}
{{ d.type }} {{ d.statut }} {{ d.date }} {{ d.cta }}
Parti pris : une demande de démo, d'audit vendeur ou d'estimation est un lead, pas une entité à part — cette vue est un filtre sur Leads reçus limité aux demandes à forte intention. « Ouvrir » mène à la même fiche lead que partout ailleurs.

Pages de destination

Pages autonomes pour campagnes Google Ads / Meta Ads — pas des pages du site.

{{ k.l }}
{{ k.v }}
{{ k.s }}

Pages

Structure d'exemple — aucune campagne lancée
PageObjectifSource liéeStatut
{{ p.name }}
{{ p.url }}
{{ p.obj }} {{ p.src }} {{ p.statut }} Ouvrir

Ce qui distingue une page de destination

{{ r }}
Parti pris : une page de destination n'est pas une page du site — sans menu, sans navigation, un seul objectif, alignée à sa source (annonce Google ou Meta). Elle vit dans Publicité, pas dans Sites & SEO. Publication bloquée si les UTM ne sont pas définis.

Google Ads

Intention active — le vendeur qui cherche « estimation maison [ville] » maintenant.

{{ k.l }}
{{ k.v }}
{{ k.s }}

Campagnes Google

Structure d'exemple — compte non connecté
CampagneTypeStatutCoût/RDV
{{ g.name }}
{{ g.sub }}
{{ g.type }} {{ g.statut }}

Prérequis avant le premier euro

{{ p.t }} {{ p.s }}
Parti pris : Google Ads = intention (Search local « estimation [ville] »), jugé au coût/RDV, jamais au clic. La checklist bloque le lancement tant que page de destination + UTM + conversion ne sont pas en place — pas de trafic payé vers une page qui fuit.

Meta Ads

Demande latente — le propriétaire qui ne cherche pas encore, capté par la VSL et le guide.

{{ k.l }}
{{ k.v }}
{{ k.s }}
Canal bloqué — VSL non tournée
Le funnel Meta repose sur la vidéo VSL (tâche T-005, statut Bloquée dans Agents). Aucune campagne ne peut se lancer avant. C'est le chemin critique.
Voir la tâche

Campagnes Meta

Structure d'exemple — compte non connecté
CampagneObjectifAudienceStatutCoût/RDV
{{ m.name }}
{{ m.sub }}
{{ m.obj }} {{ m.aud }} {{ m.statut }}
Parti pris : Meta = latence (VSL → guide → séquence email), Google = intention. Le blocage VSL est affiché en bandeau rouge avec lien direct vers la tâche Agents — l'interface rappelle le chemin critique au lieu de le cacher.
Publicité · Pages de destination

Estimation [ville]

Brouillon Source : Google Ads /lp/estimation
Publication bloquée : aucun lien UTM défini pour cette page. Ouvrir le générateur UTM

Structure de la page

Sans menu · un seul objectif · un seul CTA
{{ s.n }}
{{ s.t }}
{{ s.d }}
Éditer

Alignement annonce ↔ page

Annonce« Combien vaut votre maison à [ville] ? »
Titre page« Estimez votre maison à [ville] en 2 minutes »
ObjectifLead estimation vendeur
CTA unique« Estimer mon bien »
FormulaireModule Estimation (3 paliers)

Checklist de publication

{{ c.t }} {{ c.s }}
Parti pris fiche page : le bouton Publier est physiquement désactivé tant que la checklist n'est pas verte — UTM d'abord, message aligné avec l'annonce, un seul CTA. La page embarque le Module Estimation à 3 paliers comme formulaire de conversion.

Tracking & UTM

Générateur de liens tracés — mêmes conventions pour Google Ads, Meta Ads et emails.

Générateur UTM

{{ utmResult }}

Conventions de nommage

{{ u.k }}
{{ u.v }}
{{ u.d }}
Parti pris : un seul générateur, mêmes conventions partout — le lien tracé est copié tel quel dans Google Ads, Meta Ads ou l'email. La source du lead remonte automatiquement dans Leads reçus, ce qui permet le vrai coût/RDV par campagne.

Boîte de réception

Tous les messages entrants — formulaires de contact, réponses emails, demandes. 9 non lus, réel.

{{ k.l }}
{{ k.v }}
{{ k.s }}

Messages

Contenus fictifs — le volume (9 non lus) est réel
{{ m.from }} · {{ m.subject }}
{{ m.preview }}
{{ m.canal }} {{ m.when }} Ouvrir
Parti pris : une seule inbox pour tout l'entrant — le badge « 9 » de la barre du haut mène ici. Un message lié à un lead affiche un lien direct vers sa fiche. Les 3 vues de l'ancien module (campagnes / génériques / conseillers) deviennent des filtres, pas des pages.

Villes & exclusivité

53 villes ouvertes, 0 attribuée — une ville = un conseiller exclusif.

Carte de France

Heatmap par ville
Site conseiller en ligne · 4 (réel) Disponible · 53 (localisation à importer) Eduardo De Sul — ville à préciser

Villes prioritaires

Exemples
{{ v.name }}
{{ v.sub }}
{{ v.statut }} Ouvrir
Priorisation par volume de recherche dès qu'une source vérifiée est branchée — N/D en attendant.
Parti pris : la carte vit dans Clients (c'est un outil d'attribution territoriale et un argument de vente exclusivité), pas dans Leads. La zone carte est un emplacement d'intégration, pas un dessin simulé.

Sites conseillers

Un site par tenant, généré par les Agents — du provisioning à la mise en ligne.

{{ k.l }}
{{ k.v }}
{{ k.s }}

Sites tenants

5 sites réels — métriques N/D à brancher
SiteConseillerÉtapeLeads · 30 j
{{ st.domain }}
{{ st.ville }}
{{ st.conseiller }} En ligne N/D

Pipeline de mise en ligne

{{ p.n }}
{{ p.t }}
{{ p.d }}
{{ p.mode }}

Arborescence du site type

Relevé réel — brice-chupin-immobilier-nantes.fr · ~28 pages
{{ a.g }}
{{ a.n }}
{{ a.pages }}
Ce relevé devient le gabarit de provisioning : chaque nouveau site tenant part de cette arborescence, adaptée à sa ville (pages quartier générées par les Agents).
Parti pris : chaque étape du pipeline est une tâche du module Agents avec son mode (Auto / Semi-auto / Manuel) — cette vue montre où en est chaque site, la vue Agents montre qui fait quoi. « SSO » = prendre la main sur le site du tenant sans mot de passe.

Relations & partenaires

Partenaires tiers et apporteurs d'affaires — le carnet d'adresses qui amène des tenants.

{{ k.l }}
{{ k.v }}
{{ k.s }}

Partenaires

Exemples de mise en page
{{ p.ini }}
{{ p.name }}
{{ p.type }}
{{ p.statut }} Ouvrir
Réseaux, plateformes et prestataires liés à l'écosystème.

Apporteurs d'affaires

Programme de parrainage
ApporteurLeads apportésConvertisCommission due
{{ a.name }}
{{ a.sub }}
{{ a.leads }} {{ a.conv }} {{ a.comm }}
Aucun apporteur actif — le programme démarre avec le premier tenant parrainé. Barème de commission à définir dans Facturation.
Parti pris : un lead apporté par un apporteur entre dans Acquisition avec la source « Apporteur — [nom] » : même tunnel, même fiche lead. Cette vue ne suit que la relation et la commission ; la conversion se lit dans le tunnel. Commission due = calculée sur mandats signés, jamais sur leads bruts.
Clients · Villes & exclusivité

Nantes

Occupée — exclusivité Loire-Atlantique (44) · gabarit fiche ville — seule ville documentée
{{ k.l }}
{{ k.v }}
{{ k.s }}

Marché local

Source DVF — dvf.ecosystemeimmo.fr
Ventes · 12 moisN/D
Prix médian maisonN/D
Prix médian appartementN/D
Évolution prix · 3 ansN/D
Recherches / moisN/D
Concurrence localeN/D
Branchement API DVF en lecture seule — ces champs se remplissent automatiquement, jamais à la main.

Historique d'attribution

{{ h.t }}
{{ h.d }}
{{ h.when }}

Attribution actuelle

ConseillerBrice Chupin
Sitebrice-chupin-immobilier-nantes.fr
ExclusivitéVille entière · 5 pages quartier
DepuisN/D

Quartiers couverts

{{ q }} Page en ligne
Parti pris fiche ville : gabarit sur Nantes (seule ville dont les pages quartier sont vérifiées). Marché local = 100 % API DVF en lecture seule, N/D tant que non branché. L'historique d'attribution garde la traçabilité de l'exclusivité — l'argument de vente n°1 doit être auditable.

Santé technique

Uptime, certificats et erreurs de tous les sites — une alerte remonte sur Pilotage si un site tombe.

{{ k.l }}
{{ k.v }}
{{ k.s }}

Sites surveillés

1 réel + 1 exemple de rendu
SiteUptime · 30 jSSLDernier déploiementErreurs · 24 h
{{ s.name }}
{{ s.sub }}
{{ s.uptime }} {{ s.ssl }} {{ s.deploy }} {{ s.err }} Logs
Parti pris : la santé technique vit dans Clients (elle protège les sites des tenants) mais ne s'affiche en premier niveau que si quelque chose casse — un site down crée une action P1 sur Pilotage. Uptime et erreurs N/D tant que la sonde n'est pas branchée.

Agents

Le module qui fait tourner les sites tenants — chaque tâche est Auto, Semi-auto ou Manuelle.

{{ k.l }}
{{ k.v }}
{{ k.s }}

File de tâches

Structure d'exemple — 0 tenant actif
{{ t.id }}
{{ t.name }}
{{ t.agent }} · {{ t.site }}
{{ t.mode }} {{ t.statut }} Ouvrir

Agents configurés

{{ a.code }}
{{ a.name }}
{{ a.d }}
0 tâche

Modes d'exécution

AutoL'agent exécute et journalise. Aucune intervention.
Semi-autoL'agent exécute puis passe la tâche « À valider » — rien ne part sans ton OK.
ManuelChecklist opérateur — l'agent prépare, tu fais.
Parti pris : statuts canoniques uniques (À faire, En cours, À valider, Bloquée, Terminée, À corriger) et un mode par tâche, réglable par compte tenant dans Administration → Modules par compte. La file « À valider » est ta seule obligation quotidienne.

Kanban des tâches

Toutes les tâches agents par statut — glisser pour changer d'étape.

{{ col.name }} {{ col.n }}
{{ c.id }}
{{ c.name }}
{{ c.agentCode }} {{ c.mode }}
Vide
Parti pris : les 6 statuts canoniques du design system (À faire → En cours → À valider → Bloquée → Terminée → À corriger). Cartes = tâches d'exemple ; clic ouvre la fiche tâche. Le drag & drop sera prototypé après validation de la structure.

Validation

Ce qui attend ton OK — ta seule obligation quotidienne sur les agents.

File « À valider »

1 exemple — 0 réel (0 tenant actif)
T-002
Déployer le site conseiller
CODE-01 · site-exemple-conseiller.fr — livrable : déploiement en préproduction, à vérifier avant publication.
File vide ensuite — les validations réelles arriveront avec le premier tenant.
Parti pris : trois actions par ligne, sans ouvrir la fiche : Valider (→ Terminée), À corriger (→ retour agent avec commentaire), Voir. Objectif : vider la file en moins de 5 minutes par jour.

Vue Agents

Un agent par ligne — charge actuelle, dernière activité, coût IA.

AgentEn coursÀ validerDernière activitéCoût IA · 30 j
{{ a.code }}
{{ a.name }}
{{ a.d }}
0 0 N/D {{ a.cout }} Tâches
Parti pris : la charge (En cours / À valider) et le coût IA par agent sur la même ligne — on voit immédiatement quel agent coûte et quel agent bloque. Le 5,72 € total réel se ventile ici dès que le suivi par agent est branché (N/D en attendant).
Agents · File de tâches
site-exemple-conseiller.fr · T-002

Déployer le site conseiller

À valider Semi-auto CODE-01

Livrable à valider

Aperçu du déploiement en préproduction
preprod.site-exemple-conseiller.fr
L'agent a déployé la version 1.0 du site en préproduction : 6 pages, estimateur branché sur DVF, formulaire de contact relié à Acquisition. En attente de ta revue avant publication.

Journal

{{ t.t }}
{{ t.d }}
{{ t.when }}

Contexte

Sitesite-exemple-conseiller.fr
TenantExemple — Conseiller A
AgentCODE-01 · Codeur
PipelineÉtape 6 — Mise en ligne
Coût IAN/D
Crééeil y a 3 j
Parti pris fiche tâche : le livrable d'abord (c'est ce que tu valides), le journal ensuite, le contexte à droite. Valider / À corriger repris en haut — mêmes actions que dans la file Validation. Contenu fictif d'exemple.
Clients · Comptes conseillers
CA

Exemple — Conseiller A

Done With You · 497 €/mois Actif Ville fictive · exclusivité
{{ k.l }}
{{ k.v }}
{{ k.s }}

Modules du compte

Défauts de l'offre · exceptions par compte
{{ m.t }}
{{ m.d }}
{{ m.tag }}

Consommation IA · mois en cours

Visible aussi sur le board du tenant
14,30 € consommés sur 20,00 € inclus 72 % du quota
Alerte tenant envoyée à 80 % · surplus facturé au réel sur la facture suivante. Chiffres d'exemple.

Compte

Ville exclusiveVille fictive (Dép. XX)
Sitesite-exemple-conseiller.fr
Mode agentsSemi-auto
Client depuis

Abonnement

OffreDone With You · 497 €/mois
Engagement3 mois puis résiliable 30 j
StripeÀ jour · prochaine échéance —
Parti pris fiche compte : gabarit d'exemple (0 compte réel). Tout ce qui concerne le tenant sur une page : modules avec origine (offre ou exception), jauge IA identique à celle du board tenant, « Prendre la main » (SSO) en action primaire.

Devis & factures

Documents commerciaux et rapprochement bancaire — la comptabilité au réel.

{{ k.l }}
{{ k.v }}
{{ k.s }}

Documents

Structure d'exemple — aucun document réel
ClientTypeMontantStatut
{{ d.num }} {{ d.client }} {{ d.type }} {{ d.montant }} {{ d.statut }} Ouvrir
Le premier devis réel apparaîtra ici — numérotation automatique, envoi par email, relance à échéance.
Parti pris : le rapprochement Qonto est un outil (bouton), pas un groupe de navigation. Cycle : Devis → Accepté → Facture → Payée (rapprochée Qonto) — le statut « Payée » ne vient que du rapprochement bancaire, jamais d'un clic manuel.

Tarifs & coupons

La source de vérité tarifaire — modifiée ici, reflétée sur le site, les devis et Stripe.

Grille tarifaire

OffrePrix / moisEngagementCrédit IA inclusStripe
{{ t.name }} {{ t.prix }} {{ t.eng }} {{ t.credit }} {{ t.stripe }} Éditer
Un changement de prix ici crée un nouveau tarif Stripe — jamais de modification rétroactive des abonnés existants.

Coupons

Aucun coupon actif — réel. Exemple d'usage : « FONDATEURS » (-50 % · 3 mois) pour le programme Fondateurs, limité aux 10 premières villes.
Parti pris : une seule grille (97 / 497 / 1 497 €) synchronisée partout — site, devis, Stripe. Les crédits IA inclus (5 / 20 / 60 €) restent des propositions à valider. Les coupons servent le programme Fondateurs, pas des promos permanentes.

Stripe & Qonto

Encaissement (Stripe) et vérité bancaire (Qonto) — une facture n'est « payée » que rapprochée.

Stripe

Connecté
Abonnements actifs0 · réel
Webhooksinvoice.paid · subscription.updated — à tester
Tarifs synchronisés3 offres (grille Tarifs & coupons)
ModeÀ confirmer : test ou production

Qonto

À vérifier
RôleVérité bancaire — rapprochement des encaissements
À rapprocher0 transaction · réel
Règle« Payée » = transaction Qonto rapprochée, jamais un clic manuel
FréquenceSync quotidienne à définir
Parti pris : Stripe encaisse, Qonto confirme — deux rôles distincts, affichés comme tels. Les états (Connecté / À vérifier) sont mes hypothèses sur ton stack, à corriger si besoin.

Modules par compte

Ce que chaque offre inclut, et ce que chaque tenant voit — activable compte par compte.

{{ o.name }}{{ o.prix }}
{{ m.label }}
Crédit IA inclus {{ o.credit }}

Réglages par tenant

Exemple de rendu — 0 compte actif
CompteOffreSites & SEOPublicitéMode agents
Exemple — Conseiller A
Ville fictive
Done With You
Semi-auto
Le premier compte tenant apparaîtra ici avec ses modules et son mode d'agents.
Parti pris : l'offre définit les défauts, le réglage par compte fait l'exception — jamais l'inverse. Les montants de crédit IA inclus sont des propositions à valider, pas des chiffres actés. Le mode agents (Auto / Semi-auto / Manuel) se règle ici, par tenant.

Données

Les sources qui alimentent les sites et l'estimateur — toutes en lecture seule depuis leur service d'origine.

Sources importées en base

7 actives · volumes réels
SourceOrganismeVolume en base
{{ d.name }}
{{ d.sub }}
{{ d.org }} {{ d.vol }} Rafraîchir

APIs en direct

Sans import
{{ a.name }}
{{ a.d }}

Prévues

Planifié
{{ p.name }}
{{ p.d }}

Moteur d'estimation

Hors module
{{ m.name }}
{{ m.d }}
Parti pris : inventaire réel de ton module données (volumes vérifiés). Rien n'est éditable ici — les sources se rafraîchissent, elles ne se corrigent pas à la main. Le RNB prévu est la clé de jointure DVF ↔ DPE ↔ cadastre : priorité haute pour fiabiliser l'estimateur.

Intégrations

Connexions externes — chaque service affiche son état réel, jamais un « connecté » de façade.

ServiceUtilisé pourÉtat
{{ i.name }}
{{ i.sub }}
{{ i.usage }} {{ i.statut }} {{ i.cta }}
Parti pris : l'état affiché correspond à ce que je sais de ton stack (OAuth Search Console opérationnel, Stripe branché, Meta/GTM à confirmer) — corrige-moi ligne par ligne. Une intégration en erreur crée une action sur Pilotage.

Sécurité & accès

Comptes, authentification et conformité RGPD — pour toi et les futurs tenants.

Authentification

{{ s.t }}
{{ s.d }}
{{ s.s }}

Rôles & permissions

{{ r.role }} {{ r.d }}

RGPD

{{ g.t }}
{{ g.d }}
{{ g.s }}
Parti pris : trois rôles seulement (Opérateur, Tenant, Agent système) — pas de matrice de permissions complexe pour un SaaS mono-opérateur. Les statuts RGPD affichés sont des hypothèses à vérifier avec ton implémentation réelle.

IA & coûts

L'IA du SaaS est partagée : chaque offre inclut un crédit mensuel, le dépassement est facturé au tenant.

{{ k.l }}
{{ k.v }}
{{ k.s }}

Consommation par tenant

Exemple de rendu — 0 compte actif
CompteCrédit inclusConsomméSurplusStatut
Exemple — Conseiller A
Done With You
20,00 €
14,30 €
0,00 € 72 % du quota
Exemple — Conseiller B
Plateforme
5,00 €
7,10 €
+2,10 € Surplus facturé
Lignes d'exemple — la consommation réelle par tenant apparaîtra dès le premier compte actif.

Règle de facturation

Crédit inclusMensuel, défini par l'offre, non reportable
DépassementFacturé au réel sur la facture suivante
Alerte tenantNotification à 80 % puis 100 % du quota
Board tenantJauge de consommation visible en permanence

Coûts opérateur · 30 j

Total APIs IA5,72 €
Refacturé aux tenants0,00 €
Coût net opérateur5,72 €
Parti pris : l'IA est un centre de coût piloté, pas un gadget — crédit inclus par offre, surplus refacturé, jauge visible côté tenant. Le 5,72 € réel (coût opérateur) reste en topbar. Montants de quota = propositions à valider.
Acquisition · Formulaires

{{ fform.name }}

En ligne Source : {{ fform.src }} {{ fform.where }}
{{ k.l }}
{{ k.v }}
{{ k.s }}

Champs du formulaire

{{ fform.nbChamps }} champs · glisser pour réordonner
{{ c.label }} {{ c.type }} {{ c.req }}

Derniers leads via ce formulaire

Répartition par formulaire à brancher
N/D — dès que le champ source est tracé, les leads de ce formulaire s'affichent ici avec un lien direct vers leur fiche.

Réglages

DestinationLeads reçus · source « {{ fform.src }} »
NotificationEmail opérateur immédiat
Anti-spamHoneypot + limite de débit
UTMCapturés automatiquement
RGPDConsentement requis · purge 3 ans

Après soumission

Message{{ fform.merci }}
Email auto{{ fform.emailAuto }}
Parti pris fiche formulaire : l'éditeur de champs est la pièce centrale (structure d'exemple), les réglages sont en lecture rapide à droite. Le bloc « Derniers leads » reste N/D tant que le champ source n'est pas tracé — même règle : rien de simulé.
Acquisition · Leads reçus
{{ fiche.ini }}

{{ fiche.name }}

{{ fiche.statut }} {{ fiche.src }} Reçu {{ fiche.dateL }}

Historique

Exemple de mise en page — replié par défaut, bruit auto masqué
{{ t.t }}
{{ t.d }}
{{ t.when }}
12 changements automatiques de statut masqués · Tout afficher

Notes

Ajouter une note… (préparation d'appel, contexte, objections)

Coordonnées

Email{{ fiche.email }}
Téléphone{{ fiche.tel }}
Ville{{ fiche.ville }}
Source{{ fiche.src }}
Score{{ fiche.score }}

Prochaine action

!
{{ fiche.nextT }}
{{ fiche.nextD }}
Parti pris fiche : une seule action primaire (orange) selon le statut du lead. L'historique montre les événements utiles ; les changements automatiques de statut sont repliés derrière "Tout afficher". Données fictives d'exemple — la structure vaut pour les 14 leads réels.

Clients

Comptes conseillers, villes attribuées et exclusivité territoriale.

Comptes actifs
0
Réel
Essais en cours
0
Réel
Villes attribuées
0/53
Réel · exclusivité
Progression 100 villes
7/100

Comptes conseillers

0 compte

Aucun compte conseiller actif

Crée le premier compte pour attribuer une ville, générer le site et démarrer l'onboarding.

Villes — exclusivité

Exemples de mise en page
VilleRecherches / moisStatut
{{ v.name }}
{{ v.sub }}
N/D {{ v.statut }} {{ v.cta }}
Volumes de recherche : affichés uniquement depuis une source vérifiée (Keyword Planner / Ahrefs), sinon N/D.
Parti pris : "Comptes", "Villes & sites", "Demandes de démo" et "Santé technique" fusionnent en une seule section Clients. Les demandes de démo partent dans Acquisition (c'est un lead, pas un client). L'empty state dit quoi faire, pas juste "0".

Sites & SEO — vue d'ensemble

Un site = une ligne. Santé, contenu, positions, conversion.

{{ k.l }}
{{ k.v }}
{{ k.s }}

Sites

6 sites réels — métriques N/D à brancher
SiteMarqueSantéLeads · 30 jPosition moy.
{{ s.name }}
{{ s.sub }}
{{ s.marque }} {{ s.sante }} {{ s.leads }} {{ s.pos }} Ouvrir

Positions mots-clés

Search Console uniquement

Aucun mot-clé suivi

Les positions viendront exclusivement de Search Console. L'ancien checkPosition() aléatoire est neutralisé — aucune donnée simulée ici.

Production de contenu

File de production vide

Campagnes d'articles par site : planifiées, en rédaction, publiées. Silo / pilier / satellite visible sur chaque article.

Parti pris : "Rattacher les pages", "Campagnes locales", Facebook/Google Ads sortent d'ici et vont dans Publicité. Sites & SEO = organique uniquement. Toute métrique non branchée affiche N/D, jamais un zéro ambigu ni une valeur simulée.

CMS des pages

Champs structurés par gabarit — le design du front ne bouge jamais, seul le contenu change.

{{ k.l }}
{{ k.v }}
{{ k.s }}

Pages du site

Arborescence réelle · statuts d'exemple
{{ g.name }}
{{ p.t }}
{{ p.url }}
{{ p.gabarit }} {{ p.editeurs }} {{ p.statut }} Éditer
Parti pris : un gabarit par type de page (l'arborescence type relevée sur le site de Brice), des champs structurés — jamais de HTML libre. La colonne Éditeurs montre qui a la main : opérateur partout, agents IA sur le contenu généré, tenant sur ses champs (photo, bio, coordonnées, biens).
CMS des pages · brice-chupin-immobilier-nantes.fr

Vendre

Brouillon Gabarit : Page service /vendre

{{ f.zone }}

{{ f.editeur }} {{ f.etat }} {{ f.key }} Réinitialiser
{{ f.value }}
{{ f.value }}
{{ f.hint }}

Fallback zéro régression

Tant qu'un champ n'est pas édité, la page publique affiche son texte d'origine codé en dur. Enregistrer n'écrit que les champs modifiés ; Réinitialiser vide la valeur (value:"") et le texte d'origine reprend la main.
Critère de recette : brancher le CMS sur une page ne change rien au rendu, au byte près, avant la première édition.

Modèle de données

page(site_id, template_key) — cette page : vendre
content_blockclé / valeur scalaire · listes = tuples JSON [titre, texte]
config PAGESsource de vérité unique des clés éditables par gabarit
v1 volontairement sans versions, sans assistant IA, sans onglet SEO — sauvegarde directe.
Parti pris éditeur : chaque zone porte son badge d'éditeur autorisé (Opérateur / Agent IA / Tenant) — le tenant ne voit que ses zones. Aucun champ de mise en page : le gabarit du front est intouchable. Circuit imposé : Brouillon → QA agent → Publier, avec versions et retour arrière.

Contenus & articles

File de production par site — chaque article a un rôle silo et un site cible.

{{ k.l }}
{{ k.v }}
{{ k.s }}

File de production

Structure d'exemple — production réelle par les Agents
ArticleSiteRôle siloStatutAgent
{{ a.t }}
{{ a.slug }}
{{ a.site }} {{ a.role }} {{ a.statut }} {{ a.agent }} Ouvrir
Parti pris : la production de contenu est une file Agents (rédaction AI-01 → revue QA-01 → publication), pas un CMS. Chaque article porte son rôle silo (pilier / satellite / conversion) et son site cible. Un article réel existe : « Combien vaut ma maison à Nantes » sur le site de Brice.
Sites & SEO · Contenus & articles

Combien vaut ma maison à Nantes ?

Publié Conversion brice-chupin-immobilier-nantes.fr /blog/combien-vaut-ma-maison-a-nantes

Performance

Clics · 30 jN/D
Impressions · 30 jN/D
Position moyenneN/D
Leads attribuésN/D
Search Console + attribution formulaire — à brancher. Article indexé (vérifié).

Structure silo

RôleConversion (intention vendeur)
Page pilier/estimation
CTAFormulaire estimation
Liens internesSecteurs · Vendre · Ventes DVF
ProducteurN/D — antérieur au module Agents
Parti pris fiche article : article réel du site de Brice comme gabarit. La performance vient de Search Console + attribution formulaire ; la structure silo (rôle, pilier, CTA, liens internes) est la partie pilotable par l'opérateur et les Agents.

Mots-clés & positions

Source unique : Search Console. Aucune position simulée, jamais.

{{ k.l }}
{{ k.v }}
{{ k.s }}

Suivi par site

Colonnes prêtes — données à l'import
SiteRequêtes suiviesClics · 30 jImpressionsPosition moy.
{{ m }} N/D N/D N/D N/D
Parti pris : l'ancien checkPosition() aléatoire est définitivement remplacé par l'import Search Console (OAuth déjà opérationnel). Les 6 sites réels sont listés, tout à N/D jusqu'au premier import — c'est la preuve visuelle de la règle « rien de simulé ».

Audience & conversion

Du visiteur au lead, site par site — le tunnel côté trafic.

{{ k.l }}
{{ k.v }}
{{ k.s }}

Tunnel par site

Analytics à brancher (solution respectueuse RGPD)
SiteVisiteurs · 30 jPages vuesLeadsConversion
{{ a.site }} N/D N/D {{ a.leads }} N/D
Parti pris : seule colonne remplie : les 11 leads du corporate (réels). Le taux de conversion par site est LE chiffre à vendre aux futurs tenants — il doit venir d'un analytics réel, pas d'une estimation.
Sites & SEO · ecosystemeimmo.fr

Audit du site vitrine

Route → objectif → CTA → décision. Chaque page garde un rôle unique ou disparaît.

Garder · {{ auditGarder }} Modifier · {{ auditModifier }} Fusionner / supprimer · {{ auditSupprimer }}
RouteObjectifCTA principalDécision
{{ r.route }} {{ r.obj }} {{ r.cta }}
{{ r.dec }}
{{ r.note }}
Parti pris : décisions = mes recommandations à arbitrer, pas des faits. Ligne directrice : un seul chemin de conversion (Découvrir → … → Démarrer), une seule porte de capture (Diagnostic + audit fusionnés), et chaque page restante sert SEO, preuve ou nurturing.
Sites & SEO · Vue d'ensemble

ecosystemeimmo.fr

En ligne Site corporate SSL valide · renouvellement auto
{{ k.l }}
{{ k.v }}
{{ k.s }}

Contenu

Structure d'exemple — inventaire réel à importer
Page / articleRôle siloStatutClics · 30 j
{{ c.t }}
{{ c.url }}
{{ c.role }} {{ c.statut }} N/D Ouvrir

Positions — Search Console

Source unique, rien de simulé

Import Search Console à connecter

Requêtes, clics, impressions et position moyenne par page apparaîtront ici. Aucune position affichée tant que la donnée n'est pas réelle.

Audience · 30 j

Pages vuesN/D
VisiteursN/D
Leads générés11
Taux de conversionN/D
Analytics à brancher — seuls les 11 leads (réels) sont affichés.

Technique

Uptime · 30 jN/D
SSLValide · auto
Dernier déploiementN/D
LighthouseN/D — audit QA à lancer

Arborescence du site vitrine

Relevé réel — 15 pages + 4 sous-domaines
{{ a.g }}
{{ a.n }}
{{ a.pages }}
Parcours de conversion cible — 5 étapes
{{ p.t }} · {{ p.d }}
Toute page hors parcours sert un rôle unique : SEO (ventes DVF, comparatifs), preuve (villes disponibles, sites clients) ou nurturing (guides, formation). Diagnostic et audit à fusionner en une seule porte de capture.
Parti pris fiche site : tout le site en une page — contenu (avec rôle silo pilier/satellite), positions (Search Console uniquement), audience et technique. Même gabarit pour les futurs sites tenants ; seul le 11 leads est réel ici.

Publicité

Google Ads + Meta Ads, du clic jusqu'au mandat — jamais jugé au CPL seul.

{{ k.l }}
{{ k.v }}
{{ k.s }}

Campagnes

Structure d'exemple — aucune campagne réelle active
CampagneCanalStatutDépenséLeadsQualifiésRDVCoût/RDV
{{ c.name }}
{{ c.sub }}
{{ c.canal }} {{ c.statut }}
Parti pris : le tableau montre toujours la chaîne complète Dépensé → Leads → Qualifiés → RDV → Coût/RDV (ta règle KPI : jamais le clic seul). Le blocage VSL est affiché comme statut de campagne — impossible de lancer du trafic sans vidéo, l'interface le rappelle.

Facturation

Abonnements, MRR et documents — la vérité financière du SaaS.

{{ k.l }}
{{ k.v }}
{{ k.s }}
{{ o.name }}{{ o.prix }}
{{ o.d }}
0 abonné Gérer le tarif

Abonnements

Aucun abonnement actif

Le premier abonnement apparaîtra ici avec son plan, son statut Stripe et son historique de paiement.

Parti pris : les 3 formules affichées reprennent exactement la présentation commerciale (97 / 497 / 1 497 €) — une seule source de vérité tarifaire, modifiable ici et reflétée partout. Rapprochement Qonto conservé mais en sous-onglet, pas en groupe de premier niveau.

Administration — Modules

Ce qui est visible dans la nav se pilote ici. Tout ce qui est coupé reste dans le code, juste masqué.

Modules actifs

{{ m.t }}
{{ m.d }}

Modules masqués (phase actuelle)

{{ m.t }}
{{ m.d }}
Coûts IA · 30 j5,72 €
Réel — remonté du back-office actuel. Détail par agent et par API dans IA & coûts.
Données DVFService autonome
dvf.ecosystemeimmo.fr — lecture seule via API JSON. Aucune écriture depuis l'admin.
Parti pris : Administration devient le tiroir unique de tout le technique (Système, Données, Intégrations, IA, Sécurité) + le commutateur de modules. C'est ici qu'on masque/réactive sans toucher au code — le flag visible vit dans adminNav.js.